package demo;

/**
 * 生成指定长度验证码
 * <p>
 * Version: 1.0
 * Author: 瓶子
 */
public class Captcha {
    public static void main( String[] args ) {
        System.out.println(generateCaptcha(4));
        System.out.println(generateCaptcha(5));
        System.out.println(generateCaptcha(6));
    }

    public static String generateCaptcha( int length ) {
        // 初始化验证码
        String captcha = "";
        // 依据传入数字决定回传的验证码长度
        for ( int i = 0; i < length; i++ ) {
            // 随机确认当前位置上是数字、大写字母、小写字母。
            int type = ( int ) (Math.random() * 3);
            switch ( type ) {
                case 0:
                    captcha += ( char ) (Math.random() * 26 + 'a');  // 使用Java的特性，每个字符都有对应的数字，直接使用数字加上字符再转换回字符。
                    break;
                case 1:
                    captcha += ( char ) (Math.random() * 26 + 'A');
                    break;
                case 2:
                    captcha += ( int ) (Math.random() * 10);
                    break;
            }
        }
        return captcha;
    }

}
